Technical Field
The present disclosure relates to methods and algorithms related to the field of coding for real-time streaming systems which is covered in various areas such as information theory, coding theory and communication theory, with applications in computer science and telecommunication. In particular, the present disclosure presents novel code constructions for real-time streaming systems, with strict per message decoding deadlines, that perform optimally under various packet erasure models.
Description of the Prior Art
The systems literature on real-time streaming deals mainly with the transmission of media content (i.e., video and audio) over the internet, with the user-perceived quality of the received stream as the performance metric. In practice, the encoding of the raw media content, packetization of the coded data (possibly with interleaving) for transmission, and application of forward error correction (FEC) codes are usually performed by different components of the system separately (e.g. [11], [12] of Annex A1). FEC codes (e.g. exclusive-or parity, Reed-Solomon as described in [13], [14] of Annex A1 respectively), if used, are typically applied to blocks of packets to generate separate parity or repair packets. Furthermore, the code design is not explicitly optimized with respect to a per-message decoding delay requirement. The patent of Rasmussen et al. (as per [17] of Annex A1) describes a system in which a live stream of data is divided into segments, each of which is encoded into one or more transmission blocks using an FEC code (e.g., [18] of Annex A1, Reed-Solomon); these blocks are optionally subdivided and interleaved in a variety of ways before being transmitted over one or more channels. A similar streaming system is also considered in the patent of Luby et al. (as per [19] of Annex A1), which describes computationally efficient methods for decoding FEC-encoded blocks to achieve low latency.